# -*- coding: UTF-8 -*- #
"""
-------真正的勇士， 敢于直面惨淡的Warning、 敢于正视淋漓的Error-----
@author : 贾鹏博
@file : 1、价值体系.py
@time : 2022/5/19 11:51
"""

"""
价值体系
    UI 自动化测试价值  -  用户体验
    1、提高效率
        融入企业迭代流水线，与 CI/CD/DevOps结合
        回归测试、功能测试加速
        解放人力：手工场景探索测试
    2、提高质量
        兼容性测试 : 不同手机机型、不同版本
        专项/非功能测试 ： 启动速度，性能
        自动化探索测试 ： 不按照用例操作 - 随意（随机生成字段等）

app测试的时代背景：
    按月发布 - 按周发布 - 按小时发布
    多端发布 ： Android、ios、微信小程序、h5
    多环境发布 ： 联调环境、测试环境、预发布环境、线上环境
    多机型发布 ： 众多设备型号、众多系统版本
    多版本共存 ： 用户群体中村存在多个不同的版本（新老版本导致 测试用例成倍增加）
    历史回归测试任务 ： 成百上千条业务用例如何回归


技术选型
    Appium    普通平台（大部门应用），也支持图形识别
        推荐使用Appium
        1、跨语言 ： java,python,nodejs等
        2、跨平台 ： Andoid,iOS
                     Windows,Mac
        3、底层多引擎可切换
        4、生态丰富，社区强大
    Airtest ：  游戏 - 图像识别
    其他框架 ： calabash（andriod、ios,只支持 Ruby语言）     macaca(阿里出版，nodejs/python/java)      atx
    iOS  ； KIF  WDA  XCUITest
    Android : Robotium Uiautomator2
"""

"""
UI 自动化测试用例如何编写。最大的痛点：维护成本
    1、业务流程不频繁改动
    2、UI 元素不频繁改动
    3、需要频繁回归的场景
    4、核心场景等（百度的搜索流程，淘宝的浏览，下单，购物）


三、学习路线
    appium 测试框架
    初级： 
        环境安装与配置
        用例录制与结构解析
        Capability 常用的参数配置
        app 自动化控制
        常见控件定位方法
    中级：
        Appium Server 环境搭建
        Capability 进阶用法
        元素定位工具
        高级定位技巧
        特殊控件 toast 识别
        显式等待高级使用
        高级控件交互方法
        设备交互方法及 api
        模拟器控制
        自动化关键数据记录
    高级:
        自动化测试架构优化
        基于 Page Object 模式的测试框架优化
        
"""
